perm filename TPRINT.IL[TIM,LSP]1 blob sn#679566 filedate 1982-09-23 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	 BENCHMARK TO PRINT AND READ TO THE TERMINAL
C00004 ENDMK
CāŠ—;
;;; BENCHMARK TO PRINT AND READ TO THE TERMINAL
(DECLARE (LOCALVARS . T)
	 (SPECVARS TEST-ATOMS TEST-PATTERN))

(RPAQQ TEST-ATOMS (ABC1 CDE2 EFG3 GHI4 IJK5 KLM6 MNO7 OPQ8 QRS9
			STU0 UVW1 WXY2 XYZ3 123A 234B 345C 456D 
			567D 678E 789F 890G))

(SETQ TEST-PATTERN (INIT 6. 6. TEST-ATOMS))



(DEFINEQ
  (INIT
   (LAMBDA (M N ATOMS) 
     ((LAMBDA (ATOMS) 
	((LAMBDA (G0011) 
	   (PROG (A) 
		 (SETQ A G0011)
	    LOOP (COND ((NULL (CDR A)) (RETURN (RPLACD A ATOMS))))
		 ((LAMBDA (G0011) (SETQ A G0011) (GO LOOP)) (CDR A))))
	 ATOMS)
	(INIT1 M N ATOMS))
      (SUBST NIL NIL ATOMS)))))

(DEFINEQ
  (INIT1
   (LAMBDA (M N ATOMS) 
     (COND
      ((IEQP M 0) (PROG1 (CAR ATOMS) (SETQ ATOMS (CDR ATOMS))))
      (T ((LAMBDA (G0012 G0013) 
	    (PROG (I A) 
		  (PROGN (SETQ I G0012) (SETQ A G0013))
	     LOOP (COND ((ILESSP I 1) (RETURN A)))
		  (SETQ A (CONS (PROG1 (CAR ATOMS)
				       (SETQ ATOMS (CDR ATOMS)))
				A))
		  (SETQ A (CONS (INIT1 (IDIFFERENCE M 1) N ATOMS) A))
		  ((LAMBDA (G0012) (SETQ I G0012) (GO LOOP))
		   (IDIFFERENCE I 2))))
	  N
	  NIL))))))

(TIMER TIMIT (PRINT TEST-PATTERN))